public class Main {
    public static void main(String[] args) {
//        int a = 10;
//        int b = 20;
//        int c = 30;
//        System.out.println(a < b && b < c);

//        int a = 10;
//        int b = 20;
//        int c = 30;
//        System.out.println(a < b || b < c);


        int a = 10;
        int b = 20;
        //System.out.println(!a < b);//err
        System.out.println(!(a < b));


        //&& 和 || 遵守短路求值的规则.
        System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
        System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
        //我们都知道, 计算 10 / 0 会导致程序抛出异常. 但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值.

        //& 和 | （就是按位与和按位或）如果操作数为 boolean 的时候, 也表示逻辑运算.
        // 但是和 && 以及 || 相比, 它们不支持短路求值. & 和 | (不推荐使用)
        System.out.println(10 > 20 & 10 / 0 == 0); // 程序抛出异常
        System.out.println(10 < 20 | 10 / 0 == 0); // 程序抛出异常
    }
}
